1. Field of the Invention
The present invention relates to the field of object-oriented programming. More particularly, the present invention relates to a method for providing an extensible set of auxiliary services for objects in an object-oriented system and a method for providing secure freeze services.
2. Art Background
In an object-oriented system, an object comprises a collection of data along with a set of functions for manipulating the collection of data. The collection of data is referred to as the object's state data. The functions for manipulating the state data are referred to as operations. Each object has an associated object manager which is the server that implements the operations of the object and maintains the collection of data in the object.
To perform an operation on an object, a client sends a message to the object to "invoke" one of the operations within the object. The message sent to an object comprises an operation selector and parameter data. The operation selector in the message selects the operation within the object that will be used to manipulate the object. The parameter data in the message provides external information that will be used by the invoked operation. After the operation has completed, the operation usually returns a return value to the client that provides the results of the operation invocation.
In addition to the unique operations within each object, it is convenient to have a set of "auxiliary services" that perform maintenance operations on the objects within the system. Examples of auxiliary services include a freeze-melt service for creating persistent objects and a duplication service for creating copies of objects with different access rights. The auxiliary services for an object may be implemented by the object's object manager or by another object manager. For a particular auxiliary service type, different object managers may provide different auxiliary services. For example, two different object managers may provide two different freeze-melt services. Since the auxiliary services may perform sensitive operations, access to auxiliary services must be made secure.